#pragma once

#include "shaderFractal.h"

namespace fractals {
	class ShaderFractal4d : public ShaderFractal {
	public:
		ShaderFractal4d(const char *filename);

		virtual void mouseDown(Button button, int x, int y);
		virtual void mouseMove(int x, int y);
		
		virtual void keyDown(unsigned char key);
		virtual void keyUp(unsigned char key);

		virtual void mouseWheelDown();
		virtual void mouseWheelUp();
	private:
		mat4 transform;
		bool x, y, z, w;

		void planeRotate(float angle);
	};
}